package com.ruoyi.project.system.customer.service

import java.util

import com.ruoyi.project.system.customer.domain.Customer
import org.apache.poi.ss.formula.functions.T


/**
 * 客户Service接口
 *
 * @author daixiang
 * @date 2022-04-15
 */
trait ICustomerService {


  /**
   * 查询客户
   *
   * @param customerNo 客户主键
   * @return 客户
   */
  def selectCustomerById(customerNo: String): Customer

  /**
   * 查询客户
   *
   * @param customerNo 客户主键
   * @return 客户
   */
  def selectCustomerByCustomerNo(customerNo: String): Customer

  /**
   * 查询客户列表
   *
   * @param customer 客户
   * @return 客户集合
   */
  def selectCustomerList(customer: Customer): util.List[Customer]

  /**
   * 新增客户
   *
   * @param customer 客户
   * @return 结果
   */
  def insertCustomer(customer: Customer): Int

  /**
   * 修改客户
   *
   * @param customer 客户
   * @return 结果
   */
  def   updateCustomer(customer: Customer): Int

  /**
   * 批量删除客户
   *
   * @param customerNos 需要删除的客户主键集合
   * @return 结果
   */
  def deleteCustomerByCustomerNos(customerNos: String): Int

  /**
   * 删除客户信息
   *
   * @param customerNo 客户主键
   * @return 结果
   */
  def deleteCustomerByCustomerNo(customerNo: String): Int

  def countAll(request: Customer): Integer

  def selectAll(requset: Customer): util.ArrayList[Customer]
}
